import 'package:flutter/material.dart';
import 'package:rebase_project/res/colors.dart';
import 'package:rebase_project/res/style.dart';
import 'package:caose/caose.dart' show dip,sp;
import 'Button.dart';
import 'line.dart';

// ignore: must_be_immutable
class CommonDialog extends AlertDialog {
  String message;
  String negativeText;
  String positiveText;
  Function onCloseEvent;
  Function onPositivePressEvent;

  CommonDialog({
    Key key,
    @required this.message,
    this.negativeText,
    this.positiveText,
    this.onPositivePressEvent,
    @required this.onCloseEvent,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return new Padding(
      padding: const EdgeInsets.all(33),
      child: new Material(
        type: MaterialType.transparency,
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Container(
              decoration: BoxDecoration(
                  color: Colors.white, borderRadius: radius_10),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: <Widget>[
                  Column(
                    children: <Widget>[
                      Padding(
                        padding: EdgeInsets.all(dip(25)),
                        child: Text(message,
                            textAlign: TextAlign.center,
                            style: TextStyle(
                                fontSize: dip(15),
                                letterSpacing: 1.06,
                                color: c333333)),
                      ),
                      HLine(height: dip(1), color: cf6f6f6),
                      Container(
                        height: dip(50),
                        child: Row(
                          mainAxisAlignment: MainAxisAlignment.spaceBetween,
                          children: <Widget>[
                            new Expanded(
                              flex: 1,
                              child: Button(
                                pressedOpacity: 0.9,
                                onPressed: () {
                                  Navigator.of(context, rootNavigator: true)
                                      .pop();
                                  onCloseEvent();
                                },
                                child: Text(negativeText,
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                        color: Color(0XFF5B5B5B),
                                        fontSize: dip(15),
                                        letterSpacing: 1.06)),
                              ),
                            ),
                            VLine(width: dip(1), color: cf6f6f6),
                            new Expanded(
                              flex: 1,
                              child: Button(
                                pressedOpacity: 0.9,
                                onPressed: () {
                                  Navigator.of(context, rootNavigator: true)
                                      .pop();
                                  onPositivePressEvent();
                                },
                                child: Text(positiveText,
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                        color: Color(0XFFFF5663),
                                        fontSize: dip(15),
                                        letterSpacing: 1.06)),
                              ),
                            )
                          ],
                        ),
                      )
                    ],
                  )
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }

//  Widget _buildBottomButtonGroup() {
//    var widgets = <Widget>[];
//    if (negativeText != null && negativeText.isNotEmpty) widgets.add(_buildBottomCancelButton());
//    if (positiveText != null && positiveText.isNotEmpty) widgets.add(_buildBottomPositiveButton());
//    return new Flex(
//      direction: Axis.horizontal,
//      children: widgets,
//    );
//  }

//  Widget _buildBottomCancelButton() {
//    return new Flexible(
//      fit: FlexFit.tight,
//      child: new FlatButton(
//        onPressed: onCloseEvent,
//        child: new Text(
//          negativeText,
//          style: TextStyle(
//            fontSize: 16.0,
//          ),
//        ),
//      ),
//    );
//  }

//  Widget _buildBottomPositiveButton() {
//    return new Flexible(
//      fit: FlexFit.tight,
//      child: new FlatButton(
//        onPressed: onPositivePressEvent,
//        child: new Text(
//          positiveText,
//          style: TextStyle(
//            color: Color(Colors.teal.value),
//            fontSize: 16.0,
//          ),
//        ),
//      ),
//    );
//  }
//  @override
//  Widget build(BuildContext context) {
//    return new Padding(
//      padding: const EdgeInsets.all(15.0),
//      child: new Material(
//        type: MaterialType.transparency,
//        child: new Column(
//          mainAxisAlignment: MainAxisAlignment.center,
//          children: <Widget>[
//            new Container(
//              decoration: ShapeDecoration(
//                color: Color(0xffffffff),
//                shape: RoundedRectangleBorder(
//                  borderRadius: BorderRadius.all(
//                    Radius.circular(8.0),
//                  ),
//                ),
//              ),
//              margin: const EdgeInsets.all(12.0),
//              child: new Column(
//                children: <Widget>[
//                  new Padding(
//                    padding: const EdgeInsets.all(10.0),
//                    child: new Stack(
//                      alignment: AlignmentDirectional.centerEnd,
//                      children: <Widget>[
//                        new Center(
//                          child: new Text(
//                            title,
//                            style: new TextStyle(
//                              fontSize: 19.0,
//                            ),
//                          ),
//                        ),
//                        new GestureDetector(
//                          onTap: this.onCloseEvent,
//                          child: new Padding(
//                            padding: const EdgeInsets.all(5.0),
//                            child: new Icon(
//                              Icons.close,
//                              color: Color(0xffe0e0e0),
//                            ),
//                          ),
//                        ),
//                      ],
//                    ),
//                  ),
//                  new Container(
//                    color: Color(0xffe0e0e0),
//                    height: 1.0,
//                  ),
//                  new Container(
//                    constraints: BoxConstraints(minHeight: 180.0),
//                    child: new Padding(
//                      padding: const EdgeInsets.all(12.0),
//                      child: new IntrinsicHeight(
//                        child: new Text(
//                          message,
//                          style: TextStyle(fontSize: 16.0),
//                        ),
//                      ),
//                    ),
//                  ),
//                  this._buildBottomButtonGroup(),
//                ],
//              ),
//            ),
//          ],
//        ),
//      ),
//    );
//  }

}
